#include <iostream>
#include <memory>

#include "draw.h"
#include "shape.h"

using namespace std;

int main(int argc, char* argv[]) {
    unique_ptr<Shape> s1, s2;
    unique_ptr<Drawing> dp1, dp2;

    dp1 = make_unique<V1Drawing>();
    s1 = make_unique<Rectangle>(dp1.get(), 1, 1, 2, 2);

    dp2 = make_unique<V2Drawing>();
    s2 = make_unique<Circle>(dp2.get(), 2, 2, 4);

    s1->draw();
    s2->draw();

    return 0;
}